package com.pureut.quality.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.pureut.quality.domain.ExternalAuditPlan;
import com.pureut.quality.domain.ExternalSuggestedReport;
import com.pureut.quality.domain.dto.ExternalSuggestedReportDto;
import com.pureut.quality.domain.vo.ExternalSuggestedReportVo;
import com.pureut.quality.export.ExternalSuggestedReportExport;


/**
 * 外审建议项报告Service接口
 * 
 * @author ruoyi
 * @date 2025-04-09
 */
public interface IExternalSuggestedReportService  extends IService<ExternalSuggestedReport>
{
    /**
     * 查询外审建议项报告
     * 
     * @param id 外审建议项报告主键
     * @return 外审建议项报告
     */
    public ExternalSuggestedReportDto selectExternalSuggestedReportById(Long id);

    /**
     * 查询外审建议项报告列表
     * 
     * @param externalSuggestedReportVo 外审建议项报告
     * @return 外审建议项报告集合
     */
    public List<ExternalSuggestedReportDto> selectExternalSuggestedReportList(ExternalSuggestedReportVo externalSuggestedReportVo);

    /**
     * 新增外审建议项报告
     * 
     * @param externalSuggestedReportVo 外审建议项报告
     * @return 结果
     */
    public boolean insertExternalSuggestedReport(ExternalSuggestedReportVo externalSuggestedReportVo);

    /**
     * 修改外审建议项报告
     * 
     * @param externalSuggestedReportVo 外审建议项报告
     * @return 结果
     */
    public boolean updateExternalSuggestedReport(ExternalSuggestedReportVo externalSuggestedReportVo);

    /**
     * 批量删除外审建议项报告
     * 
     * @param ids 需要删除的外审建议项报告主键集合
     * @return 结果
     */
    public boolean deleteExternalSuggestedReportByIds(String ids);

    /**
     * 导出
     * @param externalSuggestedReportVo
     * @return
     */
    List<ExternalSuggestedReportExport> selectSuggestedReportExport(ExternalSuggestedReportVo externalSuggestedReportVo);

    /**
     * 导入外审建议项报告
     * @param coCustomer
     * @return
     */
    String importSuggestedReport(List<ExternalSuggestedReportExport> coCustomer);
}
